package com.wlz.creational.builder.simple;

/**
 * 简化版的建造者模式  链式调用创建对象
 * 适用于属性超过4个，并且有的属性有的是可选。
 * 优点：
 *  封装性好，创建和使用分离
 *  扩展性好、建造类之间独立、一定程度上解耦
 *
 * 缺点:
 *  产生多余的Builder对象
 *  产品内部发生变化，建造者都要修改，成本较大
 */
public class Client {
    public static void main(String[] args) {
        Computer computer=new Computer.Builder("因特尔","三星")
                .setDisplay("三星24寸")
                .setKeyboard("罗技")
                .setUsbCount(2)
                .build();
    }
}
